﻿// LiftEffect({
// 	"control1": ".lift-nav",//侧栏电梯的容器
// 	"control2": ".lift",//需要遍历的电梯的父元素
// 	"target": [".t1", ".t2", ".t3", ".t4", ".t5", ".t6"],//监听的内容，注意一定要从小到大输入
// 	"current": "current"//选中项 类名
// });

function LiftEffect(config) {
	// 1.保存 每个 标题 的 top值
	var array = [];
	for (var i = 0; i < config.target.length; i++) {
		var t = $(config.target[i]).offset().top;
		array.push(t);
	}

	// 切换 选中 的 电梯导航
	function changeLift(index) {
		$(config.control2).children().eq(index).addClass(config.current).siblings().removeClass(config.current);
	}

	$(window).on("scroll", Check);

	function Check() {
		// 获取 窗口 滚动 top值 
		var wst = $(window).scrollTop();
		// 如果 超过了 第1级 电梯导航 的位置，则显示 电梯导航，否则隐藏
		if (wst >= $(config.target[0]).offset().top - 100) {
			$(config.control1).fadeIn(500);
		} else {
			$(config.control1).fadeOut(500);
		}

		// 遍历 每个电梯位置
		var key = 0;
		var flag = true;
		for (var i = 0; i < array.length; i++) {
			key++;
			if (flag) {
				if (wst >= array[array.length - key] - 300) {
					var index = array.length - key;
					flag = false;
				} else {
					flag = true;
				}
			}
		}
		changeLift(index);
	}

	$(config.control2).children().on("click", function () {
		$(window).off("scroll");
		var index = $(this).index();
		changeLift(index);
		var flag = true;
		for (var i = 0; i < array.length; i++) {
			if (flag) {
				if (index == i) {
					$("html,body").stop().animate({
						"scrollTop": array[i] - 50
					}, 500, function () {
						$(window).on("scroll", Check);
					});
					flag = false;
				} else {
					flag = true;
				}
			}
		}
	});
}